ATM transport over multi-protocol label switching

ABSTRACT

User traffic of one type must traverse many diverse networks, each operating by different paradigms and requiring different protocol stacks, before it reaches the destination. MPLS (Multiprotocol Label Switching) is being developed to solve some of the problems which involve the existence of different protocols along the traffic path. There is currently no accepted way of transporting ATM cells over an MPLS domain. New ways of packetizing ATM cells into labeled MPLS packets for transporting over an MPLS domain are described.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Application Serial. No.09/614,601, filed on Jul. 12, 2000, now allowed, the contents of whichare hereby incorporated by reference.

FIELD OF INVENTION

The invention relates to transport of data in ATM format between ATMnetworks over a multi-protocol communications network usingmulti-protocol label switching.

BACKGROUND OF INVENTION

There are a large number of communications networks of different kinds,each being designed specifically for different purposes. These networksconverge to form a large network. User traffic of one type must traversemany diverse networks, each operating by different paradigms andrequiring different protocol stacks, before it reaches the destination.MPLS (Multiprotocol Label Switching) is being developed to solve some ofthe problems which involve the existence of different protocols alongthe traffic path.

For example, as a packet of a connectionless network layer protocol,such as Internet protocol, travels from one router to the next, eachrouter makes an independent forwarding decision for that packet. Eachrouter analyzes the packet's header, and each router runs a networklayer routing algorithm. Each router independently chooses a next hopfor the packet, based on its analysis of the packet's header and theresults of running the routing algorithm.

Packet headers contain considerably more information than is neededsimply to choose the next hop. Choosing the next hop can therefore bethought of as the composition of two functions. The first functionpartitions the entire set of possible packets into a set of “ForwardingEquivalence Classes (FECs)”. The second maps each FEC to a next hop.Insofar as the forwarding decision is concerned, different packets whichget mapped into the same FEC are indistinguishable. All packets whichbelong to a particular FEC and which travel from a particular node willfollow the same path (or if certain kinds of multi-path routing are inuse, they will all follow one of a set of paths associated with theFEC).

In conventional IP forwarding, a particular router will typicallyconsider two packets to be in the same FEC if there is some addressprefix X in that router's routing tables such that X is the “longestmatch” for each packet's destination address. As the packet traversesthe network, each hop in turn reexamines the packet and assigns it to aFEC.

MPLS is being developed as a technique which attempts to use the networkresources, such as bandwidth, more efficiently, while preservingservices, e.g., QoS. It can carry any network layer protocol.

IETF-MPLS-ARC-06 “Multiprotocol Label Switching Architecture” by Rosenet al, August 1999 describes in detail the architecture of MPLS.

In MPLS, the assignment of a particular packet to a particular FEC isdone just once, as the packet enters the network. The FEC to which thepacket is assigned is encoded as a short fixed length value known as a“label”. When a packet is forwarded to its next hop, the label is sentalong with it; that is, the packets are “labeled” before they areforwarded.

At subsequent hops, there is no further analysis of the packet's networklayer header. Rather, the label is used as an index into a table whichspecifies the next hop, and a new label. The old label is replaced withthe new label, and the packet is forwarded to its next hop.

In the MPLS forwarding paradigm, once a packet is assigned to a FEC, nofurther header analysis is done by subsequent routers; all forwarding isdriven by the labels. MPLS uses a label to encapsulate the nativetraffic and forms a labeled packet. Each MPLS node switches labeledpackets to a next MPLS node using labels. An MPLS packet traversesdifferent kinds of networks one after another before it reaches thedestination MPLS node which converts the packet back to its native form.It should also be noted that MPLS labels are in a fixed length which maybe 0 bytes long in some environment. For example, MPLS packets can betransported through a time-slotted link e.g., TDM (time divisionmultiplex) link. In such a case, MPLS packets are mapped at a specifiedtimeslot on the link. Once such a link is established for MPLS traffic,MPLS packets no longer need to carry MPLS labels.

It should be emphasized that effort has been made to differentiate“encapsulating a payload into an MPLS labeled packet”, “placing apayload into an MPLS labeled packet”, “packetizing into an MPLS packet”and other similar expressions. It may however be possible that“encapsulating a payload into an MPLS labeled packet” at some locationcould mean “encapsulating a payload into an MPLS labeled packet with a0-byte label”, i.e., “placing a payload into an MPLS labeled packet”.

Customer payload comes in a variety of formats and an MPLS node mustanalyze it so that it can insert the payload into MPLS labeled packetswith MPLS packet label having sufficient information for forwarding themproperly to the next MPLS node. The MPLS packets, therefore, can betransported over different media e.g., ATM, Frame Relay, TDM, DWDM(Dense Wavelength Division Multiplex), LAN (Ethernet etc.), etc. MPLStherefore forms one MPLS domain, encompassing a variety of differentkinds of networks. This has a number of advantages over conventionalnetwork layer forwarding.

As shown in FIG. 1, MPLS therefore enables to form one multiservice MPLSdomain which encompasses a number of diverse networks, such as IP, ATM,Frame Relay, TDM, DWDM, LAN etc. Unlike other network, e.g., ATM, LAN,etc., the MPLS domain is easily scaled-up in terms of the number ofconnections, bandwidth administration, failure (error) management etc.In FIG. 1, an MPLS domain 10 can be made up of aggregation of differentnetworks 12. Nodes 14 and 16 at the edge of the MPLS domain containsMPLS capabilities and function as MPLS nodes handling a variety oftraffic to and from external networks which include TDM, LAN, IP, FrameRelay, IP, ATM etc. In the Figure nodes 14 are communicating with oneanother in ATM traffic.

In one form, transport of the MPLS packet between two MPLS capable nodesis performed by such a link layer protocol as PPP (point-to-pointprotocol). Other link layer protocols can be envisaged for this purposewith appropriate modifications. The PPP (Point-to-Point Protocol) iswell known in the field of data communication. Briefly stated, however,the PPP is designed for simple links which transport packets between twopeers. These links provide full duplex simultaneous bi-directionaloperation, and are assumed to deliver packets in order. The PPP consistsof a way of encapsulating multi-protocol datagrams, a Link ControlProtocol (LCP) for establishing, configuring, and testing the data-linkconnection and a family of Network Control Protocol (NCPs) forestablishing and configuring different network-layer protocols. Thisprotocol is capable of transporting MPLS packets between two MPLScapable nodes.

In order to transport ATM cells from one ATM network to another over anMPLS domain, MPLS packets must be generated at the ingress of the MPLSdomain and must be converted back to ATM cell at the egress of the MPLSdomain. However, if the entire ATM cell is to be encapsulated in a MPLSlabeled packet, there would be a large number of bytes wasted. Thereexists no suitable method or system which is capable of placing ATMcells into MPLS labeled packets.

SUMMARY OF INVENTION

The present invention addresses problems of placing ATM cells into MPLSlabeled packets so that ATM cells are properly transported over networksand can be regenerated at the destination MPLS node, without loss of ATMservices. By this invention, therefore, ATM cells can be formed into aself describing MPLS packet which carry necessary information concerningtransmitting it over an MPLS domain to a proper destination MPLS node.

In accordance with one aspect, the invention is directed to a method oftransporting ATM cells between two nodes over a multiprotocol labelswitching domain, hereinafter called an MPLS domain. The methodcomprises steps of reading an ATM header to obtain attributes of an ATMcell received at a first node, the attributes of the ATM cell includinga type of ATM payload. The method further comprises steps of generatingan ATM common header for the ATM cell, the ATM common header mapping thetype of ATM payload and other attributes of the ATM cell, generating anMPLS labeled packet which includes the ATM common header and the ATMpayload, the MPLS labeled packet containing routing information to asecond node, and transmitting the MPLS labeled packet to the secondnode.

In accordance with another aspect, the invention is directed to a methodof transporting one or more ATM cells over a multiprotocol labelswitching domain, hereinafter called an MPLS domain. The methodcomprises steps of determining at a source node that the one or more ATMcells are of an AAL5 frame and are destined to a destination node of theMPLS domain, applying a common header to the payload of each ATM cell,the common header indicating attributes of each payload, the attributesof each payload including that the payload is a frame payload and a typeof message of the payload, generating an MPLS labeled packet whichincludes the common header and the frame payload, the MPLS labeledpacket mapping information concerning the destination node, andtransmitting the MPLS labeled packet to the destination node.

In accordance with a yet further aspect, the invention is directed to anapparatus for transporting ATM cells between two nodes over amultiprotocol label switching domain, hereinafter called an MPLS domain.The apparatus comprises an ATM header reader, a reassembly module and aforwarder. The ATM header reader is provided for reading an ATM headerto obtain attributes of a received ATM cell, the attributes including atype of ATM payload. The reassembly module is provided for generating anATM common header for the ATM cell, the ATM common header mapping thetype of ATM payload and other attributes of the ATM cell. The forwarderis provided for generating an MPLS labeled packet which includes the ATMcommon header and the ATM payload. The MPLS labeled packet containsforwarding information to a second node.

The apparatus may also comprise a transmitter for transmitting the MPLSlabeled packet to the second node.

In accordance with a yet further aspect, the invention is directed to amethod for generating a multiprotocol label switching (MPLS) labeledpacket suitable for transmitting one or more ATM cells between two nodesover an MPLS domain. The method comprises steps of reading an ATM headerto obtain attributes of an ATM cell received at a first node, theattributes of the ATM cell including a type of ATM payload. The methodfurther comprises steps of generating an ATM common header for the ATMcell, the ATM common header mapping the type of ATM payload and otherattributes of the ATM cell, and generating an MPLS labeled packet whichincludes the ATM common header and the ATM payload, the MPLS labeledpacket containing routing information to a second node.

In accordance with a yet further aspect, the invention is directed to ancomputer readable medium storing instructions or statements for use inthe execution in a computer of a method for generating a multiprotocollabel switching (MPLS) labeled packet suitable for transmitting one ormore ATM cells between two nodes over an MPLS domain. The methodcomprises steps of reading an ATM header to obtain attributes of an ATMcell received at a first node, the attributes of the ATM cell includinga type of ATM payload. The method further comprising the steps ofgenerating an ATM common header for the ATM cell, the ATM common headermapping the type of ATM payload and other attributes of the ATM cell,and generating an MPLS labeled packet which includes the ATM commonheader and the ATM payload, the MPLS labeled packet containing routinginformation to a second node.

BRIEF DESCRIPTION OF DRAWINGS

A better understanding of the invention will be obtained by reading thedescription of the invention below, with reference to the followingdrawings in which:

FIG. 1 shows an MPLS domains provided with edge nodes and containingdiverse networks.

FIG. 1A is a flowchart showing a method for generating a MPLS labeledpacket and transmitting the same in accordance with an embodiment of thepresent invention.

FIG. 1B is a flowchart showing a method for generating a MPLS labeledpacket and transmitting the same in accordance with another embodimentof the present invention.

FIG. 2 is an ATM cell format.

FIG. 3 illustrates the construction of ATM cells in accordance withAAL3/4 protocol.

FIG. 4 illustrates the construction of ATM cells in accordance with AAL5protocol.

FIG. 5 is an MPLS header format.

FIG. 6 shows the first way of constructing MPLS packets from ATM cells.

FIG. 7 shows the second way of constructing MPLS packets from ATM cells.

FIG. 8 shows the third way of constructing MPLS packets from ATM cells.

FIG. 9 shows the fourth way of constructing MPLS packets from ATM cells.

FIG. 10 shows yet another way of constructing MPLS packets from ATMcells according to one embodiment of the invention.

FIG. 11 shows ATM common header formats according to embodiments of theinvention.

FIGS. 12 and 13 show a variety of ATM payload formats that can beencapsulated according to embodiments of the invention.

FIG. 14 shows an ATM bundle header formats according to embodiments ofthe invention.

FIGS. 15, 16 and 17 show a datapath flow and MPLS packet construction inaccordance with a few embodiments of the invention.

FIGS. 18 and 19 show a datapath flow and MPLS packets construction inaccordance with a few embodiments of the invention in which ATM cellsare of a frame data.

FIG. 20 is a block diagram of an MPLS node showing functions performedat a source node.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF INVENTION

FIG. 1A shows a method in accordance with an embodiment of the presentinvention to generate a packet for transporting or transmitting an ATMcell from a source node to a destination node over a multiprotocol labelswitching (MPLS) domain. As shown in FIG. 1A, an ATM header is read toobtain attributes of an ATM cell received at a first node (20). Theattributes of the ATM cell include a type of ATM payload. An ATM commonheader is generated for the ATM cell (22). The ATM common header mapsthe type of ATM payload and other attributes of the ATM cell. Then, anMPLS labeled packet is generated to include the ATM common header andthe ATM payload (24). The generated MPLS labeled packet is transmittedto the destination node (26).

When the attributes of the ATM cell indicates that a plurality of cellpayloads are bundled, as shown in FIG. 1B, a plurality of ATM headersreceived at the source node are read to obtain attributes of the cellpayloads (30). An ATM common header for the first cell payload isgenerated (32). The ATM common header maps the attributes of the firstcell payload. For each of succeeding cell payloads, a bundle header isgenerated to map payload type indicators of the succeeding cell payloads(34). Then, an MPLS labeled packet is generated to include the ATMcommon header, bundle headers and cell payloads (36). The generated MPLSlabeled packet is transmitted to destination node (38).

Prior to describe these steps further in detail, the features of ATMcells and MPLS packets are described to aid understanding of the presentinvention.

FIG. 2 shows an ATM cell format. In the Figure, the first 5 bytes arethe ATM cell header which consists of six fields, GFC (Generic FlowControl), VPI (Virtual Path Identifier), VCI (Virtual ChannelIdentifier), PTI (Payload Type Indicator), CLP (Cell Loss Priority) andHEC (Header Error Control). The payload field has 48 bytes.

There are a few subsets of ATM transport in use, e.g., AAL1, AAL2,AAL3/4, AAL5, other proprietary ones, etc. FIG. 3 shows how user frameis encapsulated into ATM cells and is transported in accordance withAAL3/4. (A): After having been encapsulated with tags for the beginningand the end, user information (user INFO) in packets or frames issegmented into a series of packets 48 bytes each at (B). (B): Eachpacket carries a header and a tail, both having fixed length (e.g. 2bytes each). The header contains fields which indicate MID (MessageIDentifier), SN (Sequence Number) and BOM (Beginning Of Message) or EOM(End Of Message). The tail contains fields which represent LEN (Length)and CRC. The last packet of the series may contain a PAD (padding). (C):Each packet of the series is encapsulated with a 5 byte ATM HDR (ATMheader) for transport. In this format, the payload of each ATM cell isconsidered cell payload because the payload contains essential cellinformation. The cell information is needed to reassemble payloads.

FIG. 4, on the other hand, illustrates how AAL5 cells are transported.(A): User information in packets or frames is first encapsulated by atrailer which consists of PAD, LEN, UU/CPI and CRC fields of fixedbytes. The padding can be any length between 0 and 47 bytes. UU/CPI are1 byte each and are for user-to-user information and ATM common partindicator respectively. (B): The user information and the trailer aresegmented into a series of packets of 48 bytes each. (C): Each packet isprovided with an ATM header, one of whose fields is used to indicateeither “More” or “Last”. “More” represents more ATM cells from thisdatagram to come and “Last” the last cell of this datagram. Contrary toAAL3/4, this format is considered frame payload because payload does notcontain cell information but assumes that each payload is a part of aframe and arrives in sequence at the destination for reassembly ofpayloads.

FIG. 5 shows an MPLS header (label) format according to one embodiment.The header consists of 4 bytes of which 20 bits are label fields tospecify the next MPLS node. TTL is a field to indicate the duration oftime for the packet to live and S is set to indicate that the packet isthe bottom of the stack or not. EXP has three bits set aside forexperimental purposes. As mentioned earlier, the MPLS header has aprefixed length between 0 and 4 bytes.

There are several mechanisms for forming MPLS packets with ATM cells.

1) The entire ATM cell complete with ATM header is treated as an MPLSpayload. Therefore each entire ATM cell (53 bytes) is encapsulated andis given an MPLS label (4 bytes). FIG. 6 shows this arrangement oftransport. This results in 9 bytes (4 bytes of MPLS label and 5 bytes ofATM header) of overhead for every 48 bytes of ATM payload transported.If the ATM cells are actually of an AAL5 segmented frame, then possiblyfurther 55 bytes may be wasted in the last cell because PAD, UU, CPI,AAL5 CRC and length are not needed.

2) The ATM cell minus HEC is treated as an MPLS payload and isencapsulated into an MPLS packet with an MPLS label. FIG. 7 shows thisarrangement of transport. The HEC can be regenerated at the egress ofthe MPLS domain. This results in 8 bytes (4 byte in MPLS label and 4bytes of ATM header) of overhead for every 48 bytes transported. Likecase (1) above, this may result in possibly 55 bytes wasted in the lastcell if the ATM cells are actually of an AAL5 segmented frame.

3) If ATM cells are of an AAL5 frame, these cells without headers can betreated as an MPLS payload and each can be encapsulated into an MPLSpacket with an MPLS label. No ATM headers of cells are encapsulated intothe MPLS packet. FIG. 8 shows this arrangement of transport. This isdifficult, however, if not impossible, because there is not enough bitsavailable to map PTI and CLP in a MPLS label. As seen in FIG. 5, in MPLSlabel there are only three experimental bits set aside which can be usedfor this purpose, whereas there are four bits of CLP and PTI in the ATMheader which must be captured to distinguish ATM signalling, etc.Furthermore, VPC cannot be supported in this scheme.

4) ATM cells with the same header are bundled together and encapsulatedinto an MPLS packet with one copy of ATM header and an MPLS label. Thiswill reduce the overhead arbitrarily by the number of ATM cells tobundle, but will consequently result in increase (arbitrarily) in thebuffering delay and the buffer sizes. This characteristics may not becritical for some type of traffic. For example, this is bad to CBRtraffic but is not critical to UBR traffic. FIG. 9 shows thisarrangement of transport. The ATM cells which are bundled into an MPLSpacket must be identical in VCI and VPI fields of the ATM header. Thecontent therefore includes VCI and VPI in addition to PTI and CLP. Thelatter two fields may vary in value among cells but VCI and VPI valuesmust be same. Bundling becomes very inefficient and introducesunnecessary delays.

(5) One or more ATM cells with same VPI or VPI/VCI value can beencapsulated into an MPLS packet with an MPLS label mapping the VPI andVCI values. An additional byte (called ATM common header) is added inthe MPLS packet. The additional byte indicates the type of ATM cellsencapsulated in the MPLS packet. FIG. 10 shows this arrangement oftransport according to one embodiment of the invention where only oneATM cell is placed in one MPLS packet. As will be described in detailbelow, more than one ATM cells with same VPI or VPI/VCI values can beplaced in one MPLS packet according to this invention. In such a case,in addition to an ATM common header, each ATM cell payload is attachedwith a bundle header which will be described in detail below. Contraryto case (4) above, the ATM cells can be from different data streams orfrom the same one, as long as they are to be transported to the sameMPLS node.

It should be emphasized that the MPLS label can vary in size from 0bytes to 4 bytes, depending upon the media on which the packet travels.

Referring to FIG. 11, the ATM Common Header is used to indicate the typeof ATM payload carried in the MPLS packet. For example, it can indicateif the payload is of either VCC or VPC connections. It also indicateswhether it carries a single cell, bundle cells, an AAL5 frame or afragment of a frame. The field is one byte wide, according to oneembodiment. It consists of the following fields:

-   (a) CLP (1 bit): ATM cell loss priority.-   (b) VCC/VPC (1 bit): indicates if it is a VCC or VPC connection.-   (c) Cell/Frame (1 bit): indicates it is a cell or frame (e.g., AAL5)    format.-   (d) APTI (5 bits): ATM payload type indicator which is defined based    on Cell/Frame field.

Within APTI, there are following fields for either VCC or VPCconnection:

For ATM cell format

-   (i) Single/Bundle (1 bit): This indicates if the payload carries a    single cell or a bundle of cells.-   (ii) PTI (PTI[2:0], 3 bits): Payload Type Indicator if it is a    single cell.-   (iii) PTI (PTI[1:0], 2 bits): Payload Type Indicator if it is a    bundle of cells.-   (iv) B EFCI (1 bit): Bundled EFCI (Explicit Forward Congestion    Indicator). If bundled cells experience congestion, this bit is set.    This bit is set by ORing with every user cell's EFCI in the bundle    at segmentation time.-   (v) EXT (1 bit): ATM common header extension. When set, a second    octet ATM common header is formed. The second octet is currently    undefined (it may be used to carry a Sequence Number and it may have    an EXT bit defined).

For frame format:

-   (i) FPTI[2:0] (3 bits): Frame Payload Type Indicator: Following    values are assigned:    -   0:BOM (Beginning of Message), 1:SSM (Single Segment Message),        2:SSM with UU/CPI, 3:SSM with padding and UU/CPI, 4:COM        (Continuation of Message), 5:EOM (End of Message), 6:EOM with        UU/CPI, 7:EOM with padding and UU/CPI.-   (ii) EFCI (1 bit): ATM EFCI.

FIGS. 12 and 13 show a variety of ATM payload formats which can bepacketized in accordance with embodiments of the invention. In theFigures, the common header is shown at the top and a variety of ATMpayload formats are shown below it. As shown earlier, an ATM connectionis made by the use of VPI and VCI. FIG. 13 therefore also shows caseswhere VCI must be included in the payload, if it is a VPC connection. Inthe case of bundle cells, VCI field can optionally be included in an ATMpayload as shown in FIG. 13 by dotted lines.

When a plurality of ATM cell payloads are packetized in an MPLS packet,B Hdr (ATM bundle header) will be used to mark each ATM payload. FIG. 14shows the bundle header format of one octet wide. In the Figure, CLP (1bit) is an ATM CLP. VCI (1 bit) indicates if a 2 byte VCI field isinserted between the ATM Bundle Header and the Cell Payload. PTI (3bits) is the ATM cell's payload type indicator. RES are reserved forfuture use.

In FIGS. 15-19, some examples of MPLS packet construction and datapathflows are shown in accordance with a few embodiments of the invention.In those Figures, a first MPLS node receives ATM cells at its ingressport and routes them to its appropriate egress port. The first MPLS nodegenerates an MPLS labeled packet for transport to the ingress port of asecond MPLS node using PPP. The second MPLS node segments the MPLSpacket to ATM cells and routes them to appropriate egress ports. Theencapsulation formats defer, depending on media (e.g., PPP, ATM, TDMetc.).

In FIG. 15, a single ATM cell is encapsulated (packetized) in PPP andMPLS for transport. An ATM common header is shown to contain CLP,VCC/VPC type and APTI. In FIG. 16, a VCI value is included in thepayload. FIG. 17 shows a case in which ATM cells are bundled into anMPLS packet. Optional VCI fields in each bundled cell payload are shownin dotted lines.

FIG. 18, on the other hand, shows where ATM cells are of a frame format,e.g., AAL5 frame. The frame payload of an MPLS frame is therefore a BOM,COM or EOM. FIG. 19 is similar to FIG. 18 except that one of the MPLSframes carries an ATM OAM cell payload. It also shows that the framefragmentation has taken place but the cell order has been preserved.

FIG. 20 is a block diagram of an MPLS node where ATM cells arereassembled to form an MPLS labeled packet for forwarding it to the nextnode through a link. The headers of received ATM cells are read at aheader reader 70 and their payload is stored in queues in a buffer 72.According to information read from the headers, reassembly module 74identifies connections, ATM payload types etc and creates ATM commonheaders. The ATM common header and locations of queues in whichrespective ATM payload is stored are sent to forwarder 76 whichassociates the ATM common header and its payload and contains a modulewhich generates an MPLS labeled packet by attaching or assigning an MPLSlabel. As mentioned earlier, the MPLS label can be 0 byte long. A memory78 at the reassembly module contains information relating to queuing andcontext of ATM process as well as information concerning ATMconnections. Bundle headers are also created at the reassembly module.The forwarder 76 and transmitter/receiver (Tx/Rx) 80 form a trafficmanagement block 82 and performs traffic management on the link byreferring to a memory 84, such as scheduling and transporting, inaddition to labelling. The memory 84 therefore contains informationconcerning scheduling, flow control and context of those processes suchas MPLS labelling.

A mechanism like this will be needed by any box that wants to interworkATM into MPLS.

As described referring to the embodiments, the present invention allowsATM cells to be formed into a self-describing MPLS packet. The MPLSpacket carries necessary information concerning transmitting it over anMPLS domain to a proper destination MPLS node.

The invention can be implemented in digital electronic circuitry, or incomputer hardware, firmware, software, or in combinations thereof.Apparatus of the invention can be implemented in a computer programproduct tangibly embodied in a machine-readable storage device forexecution by a programmable processor; and method actions can beperformed by a programmable processor executing a program ofinstructions to perform functions of the invention by operating on inputdata and generating output. The invention can be implementedadvantageously in one or more computer programs that are executable on aprogrammable system including at least one programmable processorcoupled to receive data and instructions from, and to transmit data andinstructions to, a data storage system, at least one input device, andat least one output device. Each computer program can be implemented ina high-level procedural or object oriented programming language, or inassembly or machine language if desired; and in any case, the languagecan be a compiled or interpreted language. Suitable processors include,by way of example, both general and special purpose microprocessors.Generally, a processor will receive instructions and data from aread-only memory and/or a random access memory. Generally, a computerwill include one or more mass storage devices for storing data files.Storage devices suitable for tangibly embodying computer programinstructions and data include all forms of non-volatile memory,including by way of example semiconductor memory devices, such as EPROM,EEPROM, and flash memory devices; magnetic disks such as internal harddisks and removable disks; magneto-optical disks; and CD-ROM disks. Anyof the foregoing can be supplemented by, or incorporated in, ASICs(application-specific integrated circuits). Further, a computer datasignal representing the software code which may be embedded in a carrierwave may be transmitted via a communication network. Such a computerreadable memory and a computer data signal are also within the scope ofthe present invention, as well as the hardware, software and thecombination thereof.

While particular embodiments of the present invention have been shownand described, changes and modifications may be made to such embodimentswithout departing from the true scope of the invention.

1. A method of transporting ATM cells between two nodes over amultiprotocol label switching domain, hereinafter called an MPLS domain,comprising the steps of: reading an ATM header to obtain attributes ofan ATM cell received at a first node, the attributes of the ATM cellincluding a type of ATM payload, generating an ATM common header for theATM cell, the ATM common header mapping the type of ATM payload andother attributes of the ATM cell, generating an MPLS labeled packetwhich comprises the ATM common header and the ATM payload, the MPLSlabeled packet containing routing information to a second node,transmitting the MPLS labeled packet to the second node, andreassembling the ATM cells based on the ATM common header and the ATMpayload at the second node.
 2. The method according to claim 1, whereinthe attributes of the ATM cells comprise one or more than attributesselected from the group consisting of: ATM cell loss priority; VCC orVPC connection; single or bundle cell; congestion indicator; and payloadtype indicator.
 3. The method according to claim 1, wherein theattributes of the ATM cells further comprise an extension bit.
 4. Themethod according to claim 3, wherein the ATM common header has anextension when the extension bit is set.
 5. The method according toclaim 1, wherein the ATM cells are from different virtual circuitconnections (VCC).
 6. The method according to claim 1, wherein the ATMcells are from different virtual path connections (VPC).
 7. An apparatusfor transporting ATM cells between two nodes over a multiprotocol labelswitching domain, hereinafter called an MPLS domain, comprising: an ATMheader reader for reading an ATM header to obtain attributes of an ATMcell received at a first node, the attributes of the ATM cell includinga type of ATM payload, an assembly module for generating an ATM commonheader for the ATM cell, the ATM common header mapping the type of ATMpayload and other attributes of the ATM cell, a forwarder for generatingan MPLS labeled packet which comprises the ATM common header and the ATMpayload, the MPLS labeled packet containing routing information to asecond node, a transmitter for transmitting the MPLS labeled packet tothe second node, and a reassembler for reassembling the ATM cells basedon the ATM common header and the ATM payload at the second node.
 8. Theapparatus according to claim 7, wherein the attributes of the ATM cellscomprise one or more than attributes selected from the group consistingof: ATM cell loss priority; VCC or VPC connection; single or bindlecell; congestion indicator; and payload type indicator.
 9. The apparatusaccording to claim 7, wherein the attributes of the ATM cells furthercomprise an extension bit.
 10. The apparatus according to claim 9,wherein the ATM common header has an extension when the extension bit isset.
 11. The apparatus according to claim 7, wherein the ATM cells arefrom different virtual circuit connections (VCC).
 12. The apparatusaccording to claim 7, wherein the ATM cells are from different virtualpath connections (VPC).
 13. A computer readable medium storinginstructions or statements for use in the execution in a computer of amethod for transporting ATM cells between two nodes over a multiprotocollabel switching domain, hereinafter called an MPLS domain, the methodcomprising the steps of: reading an ATM header to obtain attributes ofan ATM cell received at a first node, the attributes of the ATM cellincluding a type of ATM payload, generating an ATM common header for theATM cell, the ATM common header mapping the type of ATM payload andother attributes of the ATM cell, generating an MPLS labeled packetwhich comprises the ATM common header and the ATM payload, the MPLSlabeled packet containing routing information to a second node,transmitting the MPLS labeled packet to the second node, andreassembling the ATM cells based on the ATM common header and the ATMpayload at the second node.
 14. The computer readable medium accordingto claim 13, wherein the attributes of the ATM cells comprise one ormore than attributes selected from the group consisting of: ATM cellloss priority; VCC or VPC connection; single or bindle cell; congestionindicator; and payload type indicator.
 15. The computer readable mediumaccording to claim 13, wherein the attributes of the ATM cells furthercomprise an extension bit.
 16. The computer readable medium according toclaim 13, wherein the ATM common header has an extension when theextension bit is set.
 17. The computer readable medium according toclaim 13, wherein the ATM cells are from different virtual circuitconnections (VCC).
 18. The computer readable medium according to claim13, wherein the ATM cells are from different virtual path connections(VPC).